package com.ht.api.db.util;

import java.util.Arrays;
import java.util.List;

import com.ht.api.db.Entity;
import com.ht.api.db.constant.MqConstants;
import com.ht.api.db.kafka.KafkaProducer;

import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;

/**
 * Mq工具类
 * @author asq
 * @createTime 2025年4月17日 15:52:13
 */
@Slf4j
public class MqUtil {
	private static KafkaProducer kafkaProducer = SpringUtil.getBean(KafkaProducer.class);
	
	/**
	 * 发送单个数据到mq
	 * @param tenantId 租户ID
	 * @param entity 单条数据
	 */
	public static void send(long tenantId, Entity entity) {
		send(tenantId, Arrays.asList(entity));
	}
	/**
	 * 发送list数据到mq
	 * @param tenantId 租户ID
	 * @param list 数据集合
	 */
	public static void send(long tenantId, List<Entity> list) {
		String topic = MqConstants.TOPIC_PRE_DATA + tenantId;
		kafkaProducer.sendMessage(topic, JSONUtil.toJsonStr(list));
		log.info("[MqUtil]发送异步数据到mq，topic:{}, size:{}", topic, list.size());
	}
}
